#include <openssl/md5.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
	if (argc < 2) {
		printf("no input data\n");
		return 1;
	}
	MD5_CTX ctx;
	MD5_Init(&ctx);
	char *buffer = *(argv + 1);
	MD5_Update(&ctx, buffer, strlen(buffer));
	const int digest_size = 16;
	unsigned char digest[digest_size];
	MD5_Final(digest, &ctx);
	for(int i = 0; i < digest_size; i++) {
		printf("%02X", digest[i]);
	}
	printf("\n");
	return 0;
}
